#ifndef IREUM_RANDOMCLASS_INC_
#define IREUM_RANDOMCLASS_INC_

#include <ctime>
#include <boost/random/mersenne_twister.hpp>
#include <boost/random/uniform_int.hpp>
#include <boost/random/variate_generator.hpp>

namespace CoreUtil{
	class RandomClass
	{
		typedef boost::mt19937 base_generator_type;
		typedef boost::uniform_int<> distribution_type;
		typedef boost::variate_generator<base_generator_type&, distribution_type> gen_type;

	public:
		RandomClass()
			: generator(static_cast<unsigned int>(std::time(0)))
			, die_gen(generator, distribution_type(1,6)) {};

		int dice() { die_gen();};

	private:
		base_generator_type generator;
		gen_type die_gen;
	};
}

#endif
